package com.ano.dao;

import com.ano.entity.Cluster;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface ClusterDAO {

    List<Cluster> findAll();
    List<Cluster> findByName(@Param("clustername")String clustername);
    List<Cluster> findByType(@Param("typename")String typename);
    List<Cluster> findByNameAndType(@Param("clustername") String clustername,@Param("typename") String typename);

    /**
     * findbyname是模糊查询，这个函数是精确查询
     * @param clustername
     * @return
     */
    Cluster findByFullName(@Param("clustername")String clustername);
    Cluster findById(@Param("id") String id);

    List<Cluster> findByHostId(@Param("hostid")String hostid);

    /**
     *保存cluster的处理
     */
    void save(Cluster cluster);
    void saveType(@Param("clusid") String clusid,@Param("typename") String typename);

    /**
     * 删除cluster的处理
     * 要删除t_cluster中对应的id
     * 要删除t_clus_type中对应的clusid
     */
    void delete(@Param("id") String id);
    void deleteType(@Param("clusid") String clusid);

    //修改cluster的处理
    void update(Cluster cluster);

    //通过clusid查找types
    List<String> findTypesByClusid(@Param("clusid") String clusid);
}
